package cn.iocoder.yudao.module.system.controller.admin.mini.userInfo.user.dal.dataobject.user;

import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 小程序-用户 DO
 *
 * @author 芋道源码
 */
@TableName(value = "qd_user",autoResultMap = true)
@KeySequence("qd_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserDO extends BaseDO {

    /**
     * id主键
     */
    @TableId
    private Integer id;
    /**
     * openId
     */
    private String openId;
    /**
     * 昵称
     */
    private String nickName;
    /**
     * 邮箱
     */
    private String mail;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 是否开通vip(1是2否)
     */
    private Integer isVip;
    /**
     * vip开通时间
     */
    private LocalDateTime vipTime;
    /**
     * 头像
     */
    private String avatar;
    //搜索记录
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private List<String> searchs;
    /**
     * 会员码
     */
    private String vipCode;
    /**
     * 抵扣金额
     */
    private BigDecimal deductionPrice;

    //导购员id
    private Integer shopUserId;
    //导购员手机号
    private String shopPhone;
    //性别
    private String sex;
    //生日
    private String birthday;

    //推荐人姓名
    @TableField(exist = false)
    private String shopName;
    //抽奖次数
    @TableField(exist = false)
    private Integer turnInfoSize;
    //vip到期时间
    private LocalDateTime vipEndTime;
    //vip编号
    private String vipId;
}
